package com.sigmatrix.h5.service;

import java.util.List;
import java.util.Map;

import com.sigmatrix.h5.dto.DisDealersData;
import com.sigmatrix.h5.entity.Dealer;
import com.sigmatrix.h5.entity.DisDealer;
import com.sigmatrix.h5.exception.ServiceException;
import com.sigmatrix.h5.request.Request;
import com.sigmatrix.h5.response.Response;
import com.sigmatrix.h5.web.vo.DealersVo;
import com.sigmatrix.sc.jdbc.common.service.Service;

/**
 * 
 *@ClassName: DealerService
 *@Description: 生产供应经销商
 *@author MH
 *@date 2017年10月19日 下午6:12:05
 */
public interface DealerService extends Service<Dealer,Integer>{
	/**
	 * 
	 *@Title: copyOfDis
	 *@Description: 
	 *@return Integer
	 *@author MH
	 *@date 2017年11月13日 下午6:45:43
	 *@param disDealer
	 *@return
	 */
	Integer copyOfDis(DisDealer disDealer);
	
	
	
	/**
	 * 分销app合并分支开始-------------------------------------
	 */
	

	/**
	 *@Title: findById
	 *@Description: 根据主键查找经销商
	 *@return DisDealersData
	 *@author youjun
	 *@date 2017-06-24 17:30:21
	 *@param id
	 *@return
	 * @throws ServiceException 
	 */
	DisDealersData findById(Integer id, String enterpriseCode) throws ServiceException;

	/**
	 *@Title: findListByCondition
	 *@Description: 根据条件查询经销商列表
	 *@return List<DisDealersData>
	 *@author youjun
	 *@date 2017-06-24 17:30:21
	 *@param dealersVo
	 *@return
	 *@throws ServiceException
	 */
	List<DisDealersData> findListByCondition(DealersVo dealersVo) throws ServiceException;


	/**
	 *@Title: getAllDealersList
	 *@Description: 获得所有的经销商列表
	 *@return List<DisDealersData>
	 *@author youjun
	 *@date 2017年6月25日 下午3:11:22
	 *@return
	 *@throws ServiceException
	 */
	List<DisDealersData> getAllDealersList(final String enterpriseCode) throws ServiceException;

	/**
	 *@Title: getDealersFromMap
	 *@Description: 从map中获取经销商,若无将从数据库中查询并放入map中
	 *@return DisDealersData
	 *@author youjun
	 *@date 2017年6月25日 下午3:23:02
	 *@param dealersMap
	 *@param dealerId
	 *@return
	 *@throws ServiceException
	 */
	DisDealersData getDealersFromMap(Map<Integer, DisDealersData> dealersMap, Integer dealerId, String enterpriseCode)
			throws ServiceException;

	
	/**
	 *@Title: syncList
	 *@Description: TODO()
	 *@return Response
	 *@date 2017年9月8日 下午3:01:06
	 *@param request
	 *@throws ServiceException
	 */
	Response syncList(final Request request) throws ServiceException;
	
	/**
	 * 分销app合并分支结束-------------------------------------
	 */
}
